<?php

namespace Lib\Dao;
use Lib\Dao\FcfDao;
//use Illuminate\Support\Facades\DB;

define('CAMPOS_TABLA_MENUS','id,id_gestor,nombre,permiso,enlace,parent,icono,orden');

class MenusDao {
	
	var $tabla_menus = 'menus';
	
	function getAllMenus(){
		$queryString = "Select ".CAMPOS_TABLA_MENUS." FROM ".$this->tabla_menus;
		return FcfDao::select($queryString);
	}
	
	function getMenuPorId($id){
		$queryString = "Select ".CAMPOS_TABLA_MENUS." FROM ".$this->tabla_menus." WHERE id=".$id." LIMIT 0,1";
		return FcfDao::select($queryString);
	}
	
	function updateMenu($info){
		$queryString = 'UPDATE '.$this->tabla_menus.'
						SET nombre = "'.$info->nombre.'",
						    permiso = "'.$info->permiso.'",
						    icono = "'.$info->icono.'",
						    enlace = "'.$info->ruta.'"
						WHERE id = '.$info->id_menu;
		return FcfDao::update($queryString);
	}
	
	function deleteMenuPorId($id){
		$queryString = "DELETE FROM ".$this->tabla_menus." WHERE id = ".$id." OR parent=".$id;
		return FcfDao::update($queryString);
	}
	
	function getAllMenusPrincipals($id){ //seleciona menus de cada gestor, excepto 0 que pertenece a los menus de administracion
		$queryString = "Select ".CAMPOS_TABLA_MENUS." FROM ".$this->tabla_menus." WHERE id_gestor=".$id." AND parent=0";
		return FcfDao::select($queryString);
	}
	
	function getMenusPerIdGestor($id){
		$queryString = "Select ".CAMPOS_TABLA_MENUS." FROM ".$this->tabla_menus." WHERE id_gestor=".$id." ORDER BY orden ASC";
		return FcfDao::select($queryString);
	}
	
	function getSubmenusPerIdMenu($id_menu){
		$queryString = "Select ".CAMPOS_TABLA_MENUS." FROM ".$this->tabla_menus." WHERE parent=".$id_menu." ORDER BY orden ASC";
		return FcfDao::select($queryString);
	}
	
	function crearNuevoMenu($info){
		$queryString = "INSERT INTO ".$this->tabla_menus." (".CAMPOS_TABLA_MENUS.")
						VALUES (null,
						        ".$info->id_gestor.",
						        '".$info->nombre."',
						        ".$info->permiso.",
						        ".$info->enlace.",
						        ".$info->parent.",
						        '".$info->icono."',
						        ".$info->orden.");";
		return FcfDao::insert($queryString);
	}

	function cambioOrdenMenus($queryString){
		return FcfDao::update($queryString);
	}
	
	
}

?>